<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Shell (computing)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Shell_(computing)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Shell_computing rootpage-Shell_computing skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Shell (computing)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>An <a href="Operating_system" title="Operating system">operating system</a> <b>shell</b> is a <a href="Computer_program" title="Computer program">computer program</a> that provides relatively broad and direct access to the system on which it runs. The term <i>shell</i> refers to how it is a relatively thin <a href="Abstraction_layer" title="Abstraction layer">layer</a> around an operating system.<sup id="cite_ref-Economist_1-0" class="reference"><a href="#cite_note-Economist-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-JargonFile_2-0" class="reference"><a href="#cite_note-JargonFile-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>A shell is generally a <a href="Command-line_interface" title="Command-line interface">command-line interface</a> (CLI) program although some <a href="Graphical_user_interface" title="Graphical user interface">graphical user interface</a> (GUI) programs are arguably classified as shells too.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2></div>
<p>Operating systems provide various services to their users, including <a href="File_manager" title="File manager">file management</a>, <a href="Process_(computing)" title="Process (computing)">process</a> management (running and terminating <a href="Application_program" class="mw-redirect" title="Application program">applications</a>), <a href="Batch_processing" title="Batch processing">batch processing</a>, and operating system monitoring and configuration.
</p><p>Most operating system shells are not <i>direct</i> interfaces to the underlying <a href="Kernel_(operating_system)" title="Kernel (operating system)">kernel</a>, even if a shell communicates with the user via <a href="Peripheral_device" class="mw-redirect" title="Peripheral device">peripheral devices</a> attached to the computer directly. Shells are actually special applications that use the kernel <a href="API" title="API">API</a> in just the same way as it is used by other application programs. A shell manages the user–system interaction by prompting users for input, interpreting their input, and then handling output from the underlying operating system (much like a <a href="Read%E2%80%93eval%E2%80%93print_loop" title="Read–eval–print loop"> read–eval–print loop, REPL</a>).<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Since the operating system shell is actually an application, it may easily be replaced with another similar application, for most operating systems.
</p><p>In addition to shells running on local systems, there are different ways to make remote systems available to local users; such approaches are usually referred to as remote access or remote administration. Initially available on <a href="Multi-user" class="mw-redirect" title="Multi-user">multi-user</a> <a href="Mainframe_computer" title="Mainframe computer">mainframes</a>, which provided text-based UIs for each active user <i>simultaneously</i> by means of a <a href="Text_terminal" class="mw-redirect" title="Text terminal">text terminal</a> connected to the mainframe via serial line or <a href="Modem" title="Modem">modem</a>, remote access has extended to <a href="Unix-like" title="Unix-like">Unix-like</a> systems and Microsoft Windows. On Unix-like systems, <a href="Secure_Shell" title="Secure Shell">Secure Shell protocol (SSH)</a> is usually used for text-based shells, while <a href="SSH_tunneling" class="mw-redirect" title="SSH tunneling">SSH tunneling</a> can be used for <a href="X_Window_System" title="X Window System">X Window System</a>–based graphical user interfaces (GUIs). On Microsoft Windows, Remote Desktop Protocol can be used to provide GUI remote access, since <a href="Windows_Vista" title="Windows Vista">Windows Vista</a>, <a href="PowerShell" title="PowerShell">PowerShell Remote</a>, since <a href="Windows_10" title="Windows 10">Windows 10</a> build 1809 SSH<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> can also be used for text-based remote access via WMI, RPC, and WS-Management.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>Most operating system shells fall into one of two categories – command-line and graphical. Command-line shells provide a command-line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI). Other possibilities, although not so common, include a voice user interface and various implementations of a text-based user interface (TUI) that are not CLI, such as text-based menu systems. The relative merits of CLI- and GUI-based shells are often debated. Many computer users use both depending on the task to be performed.
</p>
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Early interactive systems provided a simple command-line interpreter as part of the <a href="Resident_monitor" title="Resident monitor">resident monitor</a>. This interpreter might be called by different names, such as <code>COMCON</code> on DEC <a href="TOPS-10" title="TOPS-10">TOPS-10</a> systems.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> The interpreter would execute one of a number of predefined commands, one of which would be to run a user program. Common commands would log the user on and off the system, allocate, free, and manipulate devices and files, and query various pieces of information about the system or a user process.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<style data-mw-deduplicate="TemplateStyles:r1224211176">
/* start https://en.wikipedia.org/ */
.mw-parser-output .quotebox{background-color:#F9F9F9;border:1px solid #aaa;box-sizing:border-box;padding:10px;font-size:88%;max-width:100%}.mw-parser-output .quotebox.floatleft{margin:.5em 1.4em .8em 0}.mw-parser-output .quotebox.floatright{margin:.5em 0 .8em 1.4em}.mw-parser-output .quotebox.centered{overflow:hidden;position:relative;margin:.5em auto .8em auto}.mw-parser-output .quotebox.floatleft span,.mw-parser-output .quotebox.floatright span{font-style:inherit}.mw-parser-output .quotebox>blockquote{margin:0;padding:0;border-left:0;font-family:inherit;font-size:inherit}.mw-parser-output .quotebox-title{text-align:center;font-size:110%;font-weight:bold}.mw-parser-output .quotebox-quote>:first-child{margin-top:0}.mw-parser-output .quotebox-quote:last-child>:last-child{margin-bottom:0}.mw-parser-output .quotebox-quote.quoted:before{font-family:"Times New Roman",serif;font-weight:bold;font-size:large;color:gray;content:" “ ";vertical-align:-45%;line-height:0}.mw-parser-output .quotebox-quote.quoted:after{font-family:"Times New Roman",serif;font-weight:bold;font-size:large;color:gray;content:" ” ";line-height:0}.mw-parser-output .quotebox .left-aligned{text-align:left}.mw-parser-output .quotebox .right-aligned{text-align:right}.mw-parser-output .quotebox .center-aligned{text-align:center}.mw-parser-output .quotebox .quote-title,.mw-parser-output .quotebox .quotebox-quote{display:block}.mw-parser-output .quotebox cite{display:block;font-style:normal}@media screen and (max-width:640px){.mw-parser-output .quotebox{width:100%!important;margin:0 0 .8em!important;float:none!important}}
/* end https://en.wikipedia.org/ */
</style><div class="quotebox pullquote floatright" style="width:50%; ;">
<blockquote class="quotebox-quote left-aligned" style="">
<p>The purpose of such a procedure is to create a medium of exchange into which one could activate any procedure, <i>as if it were called from the inside of another program</i>. Hereafter, for simplification, we shall refer to that procedure as the "SHELL".
</p>
</blockquote>
<div style="padding-bottom: 0; padding-top: 0.5em"><cite class="left-aligned" style="">Louis Pouzin, The SHELL: A Global Tool for Calling and Chaining Procedures in the System <sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></cite></div>
</div>
<p>In 1964, for the <a href="Multics" title="Multics">Multics</a> operating system, <a href="Louis_Pouzin" title="Louis Pouzin">Louis Pouzin</a> conceived the idea of "using commands somehow like a programming language," and coined the term <i>shell</i> to describe it.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> In a 1965 document, the shell is defined as "a common procedure called automatically by the supervisor whenever a user types in some message at his console, at a time when he has no other process in active execution under console control. This procedure acts as an interface between console messages and subroutine [in the supervisor]."<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> This system was first implemented by <a href="Glenda_Schroeder" title="Glenda Schroeder">Glenda Schroeder</a> and an unnamed man from <a href="General_Electric" title="General Electric">General Electric</a>.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p><p>
Multics also introduced the <i>active function</i>, a key concept in all later shells. This is defined as <style data-mw-deduplicate="TemplateStyles:r1244412712">
/* start https://en.wikipedia.org/ */
.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}
/* end https://en.wikipedia.org/ */
</style></p><blockquote class="templatequote"><p>a string... which is replaced by a character string return value before the command line containing it is executed. Active functions are often used... to implement command-language macros.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup></p></blockquote>
<p>In 1971, <a href="Ken_Thompson" title="Ken Thompson">Ken Thompson</a> developed the <a href="Thompson_shell" title="Thompson shell">Thompson shell</a> in the first version of Unix. While simpler than the Multics shell, it contained some innovative features, which have been carried forward in modern shells, including the use of < and > for input and output <a href="Redirection_(computing)" title="Redirection (computing)">redirection</a>.
</p><p>The graphical shell first appeared in <a href="Douglas_Engelbart" title="Douglas Engelbart">Douglas Engelbart</a>’s <a href="NLS_(computer_system)" title="NLS (computer system)">NLS</a> system, demonstrated in December, 1968 at the <a href="Fall_Joint_Computer_Conference" class="mw-redirect" title="Fall Joint Computer Conference">Fall Joint Computer Conference</a> in San Francisco, in what has been called <i><a href="The_Mother_of_All_Demos" title="The Mother of All Demos">The Mother of All Demos</a></i>. Engelbart’s colleagues at <a href="Stanford_Research_Institute" class="mw-redirect" title="Stanford Research Institute">Stanford Research Institute</a> brought the concept to the Xerox <a href="Palo_Alto_Research_Center" class="mw-redirect" title="Palo Alto Research Center">Palo Alto Research Center</a> (PARC), where it appeared on the <a href="Xerox_Alto" title="Xerox Alto">Alto</a>, introduced in 1973. From there the idea spread to <a href="Niklaus_Wirth" title="Niklaus Wirth">Niklaus Wirth</a>’s <a href="Lilith_(computer)" title="Lilith (computer)">Lilith</a> in 1980, and the <a href="Apple_Inc." title="Apple Inc.">Apple</a> <a href="Apple_Lisa" title="Apple Lisa">Lisa</a> in 1983, then became ubiquitous.
</p>
<div class="mw-heading mw-heading2"><h2 id="Command-line_shells">Command-line shells</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">See also: <a href="List_of_command-line_interpreters" title="List of command-line interpreters">List of command-line interpreters</a></div>
<p>A <a href="Command-line_interface" title="Command-line interface">command-line interface</a> (CLI) is an operating system shell that uses <a href="Alphanumeric" class="mw-redirect" title="Alphanumeric">alphanumeric</a> characters typed on a keyboard to provide instructions and data to the operating system, interactively. For example, a <a href="Teletypewriter" class="mw-redirect" title="Teletypewriter">teletypewriter</a> can send codes representing keystrokes to a command interpreter program running on the computer; the command interpreter parses the sequence of keystrokes and responds with an error message if it cannot recognize the sequence of characters, or it may carry out some other program action such as loading an application program, listing files, logging in a user and many others. Operating systems such as UNIX have a large variety of <a href="Unix_shell" title="Unix shell">shell</a> programs with different commands, syntax and capabilities, with the <a href="POSIX_shell" class="mw-redirect" title="POSIX shell">POSIX shell</a> being a baseline. Some operating systems had only a single style of command interface; commodity operating systems such as <a href="MS-DOS" title="MS-DOS">MS-DOS</a> came with a standard command interface (<a href="COMMAND.COM" title="COMMAND.COM">COMMAND.COM</a>) but third-party interfaces were also often available, providing additional features or functions such as menuing or remote program execution.
</p><p>Application programs may also implement a command-line interface. For example, in Unix-like systems, the <a href="Telnet" title="Telnet">telnet</a> program has a number of commands for controlling a link to a remote computer system. Since the commands to the program are made of the same keystrokes as the data being sent to a remote computer, some means of distinguishing the two are required. An <a href="Escape_sequence" title="Escape sequence">escape sequence</a> can be defined, using either a special local keystroke that is never passed on but always interpreted by the local system. The program becomes modal, switching between interpreting commands from the keyboard or passing keystrokes on as data to be processed.
</p><p>A feature of many command-line shells is the ability to save sequences of commands for re-use. A data file can contain sequences of commands which the CLI can be made to follow as if typed in by a user. Special features in the CLI may apply when it is carrying out these stored instructions. Such <a href="Batch_files" class="mw-redirect" title="Batch files">batch files</a> (script files) can be used repeatedly to automate routine operations such as initializing a set of programs when a system is restarted. Batch mode use of shells usually involves structures, conditionals, variables, and other elements of programming languages; some have the bare essentials needed for such a purpose, others are very sophisticated programming languages in and of themselves. Conversely, some programming languages can be used interactively from an operating system shell or in a purpose-built program.
</p><p>Several command-line shells, such as Nushell, Xonsh, <a href="Bash_(Unix_shell)" title="Bash (Unix shell)">Bash (Unix shell)</a>, and <a href="Z_shell" title="Z shell">Z shell</a>, offer <a href="Command-line_completion" title="Command-line completion">command-line completion</a>, enabling the interpreter to expand commands based on a few characters input by the user.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p><p>A command-line interpreter may offer a history function, so that the user can recall earlier commands issued to the system and repeat them, possibly with some editing. Since all commands to the operating system had to be typed by the user, short command names and compact systems for representing program options were common. Short names were sometimes hard for a user to recall, and early systems lacked the storage resources to provide a detailed on-line user instruction guide.
</p>
<div class="mw-heading mw-heading2"><h2 id="Graphical_shells">Graphical shells</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Graphical_user_interface" title="Graphical user interface">Graphical user interface</a></div>
<p>A graphical user interface (GUI) provides means for manipulating programs graphically, by allowing for operations such as opening, closing, moving and resizing <a href="Window_(computing)" title="Window (computing)">windows</a>, as well as switching <a href="Focus_(computing)" title="Focus (computing)">focus</a> between windows. Graphical shells may be included with <a href="Desktop_environment" title="Desktop environment">desktop environments</a> or come separately, even as a set of loosely coupled utilities.
</p><p>Most graphical user interfaces develop the <a href="Desktop_metaphor" title="Desktop metaphor">metaphor of an "electronic desktop"</a>, where data files are represented as if they were paper documents on a desk, and application programs similarly have graphical representations instead of being invoked by command names.
</p>
<div class="mw-heading mw-heading3"><h3 id="Unix-like_systems">Unix-like systems</h3></div>
<p>Graphical shells typically build on top of a <a href="Windowing_system" title="Windowing system">windowing system</a>. In the case of <a href="X_Window_System" title="X Window System">X Window System</a> or <a href="Wayland_(display_server_protocol)" class="mw-redirect" title="Wayland (display server protocol)">Wayland</a>, the shell consists of an <a href="X_window_manager" title="X window manager">X window manager</a> or a <a href="Wayland_compositor" class="mw-redirect" title="Wayland compositor">Wayland compositor</a>, respectively, as well as of one or multiple programs providing the functionality to start installed applications, to manage open windows and virtual desktops, and often to support a widget engine.
</p><p>In the case of <a href="MacOS" title="MacOS">macOS</a>, <a href="Quartz_Compositor" title="Quartz Compositor">Quartz Compositor</a> acts as the windowing system, and the shell consists of the <a href="Finder_(software)" title="Finder (software)">Finder</a>,<sup id="cite_ref-loginwindow_14-0" class="reference"><a href="#cite_note-loginwindow-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> the <a href="Dock_(macOS)" title="Dock (macOS)">Dock</a>,<sup id="cite_ref-loginwindow_14-1" class="reference"><a href="#cite_note-loginwindow-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> SystemUIServer,<sup id="cite_ref-loginwindow_14-2" class="reference"><a href="#cite_note-loginwindow-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> and <a href="Mission_Control_(macOS)" title="Mission Control (macOS)">Mission Control</a>.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Microsoft_Windows">Microsoft Windows</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="Windows_shell" title="Windows shell">Windows shell</a>, <a href="Windows_shell_replacement" class="mw-redirect" title="Windows shell replacement">Windows shell replacement</a>, and <a href="Program_Manager" title="Program Manager">Program Manager</a></div>
<p>Modern versions of the Microsoft Windows operating system use the <a href="Windows_shell" title="Windows shell">Windows shell</a> as their shell. Windows Shell provides <a href="Desktop_environment" title="Desktop environment">desktop environment</a>, <a href="Start_menu" title="Start menu">start menu</a>, and <a href="Task_bar" class="mw-redirect" title="Task bar">task bar</a>, as well as a <a href="Graphical_user_interface" title="Graphical user interface">graphical user interface</a> for accessing the file management functions of the operating system. Older versions also include <a href="Program_Manager" title="Program Manager">Program Manager</a>, which was the shell for the 3.x series of Microsoft Windows, and which in fact shipped with later versions of Windows of both the 95 and NT types at least through Windows XP. The interfaces of Windows versions 1 and 2 were markedly different.
</p><p>Desktop applications are also considered shells, as long as they use a third-party engine. Likewise, many individuals and developers dissatisfied with the interface of Windows Explorer have developed software that either alters the functioning and appearance of the shell or replaces it entirely. <a href="WindowBlinds" title="WindowBlinds">WindowBlinds</a> by <a href="StarDock" class="mw-redirect" title="StarDock">StarDock</a> is a good example of the former sort of application. <a href="LiteStep" title="LiteStep">LiteStep</a> and Emerge Desktop are good examples of the latter.
</p><p>Interoperability programmes and purpose-designed software lets Windows users use equivalents of many of the various Unix-based GUIs discussed below, as well as Macintosh. An equivalent of the OS/2 Presentation Manager for version 3.0 can run some OS/2 programmes under some conditions using the OS/2 <a href="Architecture_of_Windows_NT#User_mode" title="Architecture of Windows NT">environmental subsystem</a> in versions of Windows NT.
</p>
<div class="mw-heading mw-heading2"><h2 id="Invocation_from_a_program">Invocation from a program</h2></div>
<p>A shell can usually also be invoked from within a program through standard system functions like <code>system()</code>, <code>popen()</code> and <code>exec()</code> without any user interface being involved.
</p><p>Beyond these standard functions, Windows for example provides the "Windows Shell API" which exposes a set of functions that programs can use to interact with the Windows shell. These shell functions are provided in DLL's (like shell32.dll and shlwapi.dll) and do not need the default Windows shell GUI i.e. explorer.exe to be running. Explorer.exe and its replacements generally make use of the Windows Shell API to provide users with a Windows shell GUI without having to implement themselves the Windows shell core functionalities (which are implemented and provided by shell32.dll and shlwapi.dll). But programs can use the Windows Shell API for other purposes and without providing users with a shell user interface.
</p>
<div class="mw-heading mw-heading2"><h2 id="Other_uses">Other uses</h2></div>
<p>"Shell" is also used loosely to describe application software that is "built around" a particular component, such as web browsers and email clients, in analogy to the shells found in nature. Indeed, the (command-line) shell encapsulates the operating system <i>kernel</i>. These are also sometimes referred to as "wrappers".<sup id="cite_ref-JargonFile_2-1" class="reference"><a href="#cite_note-JargonFile-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>In <a href="Expert_system" title="Expert system">expert systems</a>, a shell is a piece of software that is an "empty" expert system without the knowledge base for any particular application.<sup id="cite_ref-BCS_16-0" class="reference"><a href="#cite_note-BCS-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1184024115">
/* start https://en.wikipedia.org/ */
.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}
/* end https://en.wikipedia.org/ */
</style><div class="div-col" style="column-width: 20em;">
<ul><li><a href="Comparison_of_command_shells" title="Comparison of command shells">Comparison of command shells</a></li>
<li><a href="Human%E2%80%93computer_interaction" title="Human–computer interaction">Human–computer interaction</a></li>
<li><a href="Internet_Explorer_shell" title="Internet Explorer shell">Internet Explorer shell</a> – Programs based on the Internet Explorer browser engine</li>
<li><a href="Shell_account" title="Shell account">Shell account</a> – User account on a remote server</li>
<li><a href="Shell_builtin" title="Shell builtin">Shell builtin</a> – Computer function</li>
<li><a href="Superuser" title="Superuser">Superuser</a> – Special user account used for system administration</li>
<li><a href="Unix_shell" title="Unix shell">Unix shell</a> – Command-line interpreter for Unix operating system</li>
<li><a href="Window_manager" title="Window manager">Window manager</a> – Type of system software</li>
<li><a href="Read%E2%80%93eval%E2%80%93print_loop" title="Read–eval–print loop">Read–eval–print loop</a> – Computer programming environment</li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-Economist-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Economist_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://www.economist.com/news/technology-quarterly/21590765-louis-pouzin-helped-create-internet-now-he-campaigning-ensure-its">"The Internet's fifth man"</a>, Brain scan, <i><a href="The_Economist" title="The Economist">The Economist</a></i>, London: <a href="Economist_Group" class="mw-redirect" title="Economist Group">Economist Group</a>, December 13, 2013, <q>Mr Pouzin created a program called RUNCOM that helped users automate tedious and repetitive commands. That program, which he described as a "shell" around the computer's whirring innards, gave inspiration—and a name—to an entire class of software tools, called command-line shells, that still lurk below the surface of modern operating systems.</q></cite></span>
</li>
<li id="cite_note-JargonFile-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-JargonFile_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-JargonFile_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">
<cite id="CITEREFRaymond" class="citation web cs1">Raymond, Eric S. (ed.). <a rel="nofollow" class="external text" href="http://www.catb.org/jargon/html/S/shell.html">"shell"</a>. <i>The Jargon File</i>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.baseadmn%2Fdoc%2Fbaseadmndita%2Fshells.htm">"Operating system shells"</a>. <i>AIX 6.1 Information Center</i>. <a href="IBM" title="IBM">IBM</a> Corp<span class="reference-accessdate">. Retrieved <span class="nowrap">September 16,</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFteocci" class="citation web cs1">teocci. <a rel="nofollow" class="external text" href="https://gist.github.com/teocci/5a96568ab9bf93a592d7a1a237ebb6ea">"How to SSH into Windows 10 or 11?"</a>. <i>GitHub Gist</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2025-01-24</span></span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFWheeler2018" class="citation web cs1">Wheeler, Sean (14 October 2018). <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/powershell/scripting/learn/remoting/running-remote-commands?view=powershell-6">"Running Remote Commands"</a>. <i>Microsoft Docs</i>. Microsoft<span class="reference-accessdate">. Retrieved <span class="nowrap">30 June</span> 2019</span>. <q>You can run commands on one or hundreds of computers with a single PowerShell command. Windows PowerShell supports remote computing by using various technologies, including WMI, RPC, and WS-Management.</q></cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFDigital_Equipment_Corporation1980" class="citation book cs1">Digital Equipment Corporation (Nov 1980). <a rel="nofollow" class="external text" href="http://bitsavers.org/pdf/dec/pdp10/TOPS10_monitorInternalsCourse/EY-CD150-HO-006_monInternal.pdf"><i>TOPS-10 MONITOR INTERNALS</i></a> <span class="cs1-format">(PDF)</span>. pp. <span class="nowrap">CMND-1 –</span> <span class="nowrap">CMND-16</span><span class="reference-accessdate">. Retrieved <span class="nowrap">Mar 29,</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite id="CITEREFDigital_Equipment_Corporation1977" class="citation book cs1">Digital Equipment Corporation (Aug 1977). <a rel="nofollow" class="external text" href="http://bitsavers.org/pdf/dec/pdp10/TOPS10/AA-0916C-TB_DEC10_Operating_Systems_Command_Manual_Ver_6_03_Aug77.pdf"><i>DECSystem 10 Operating System Commands Manual</i></a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">Mar 29,</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFPoizin" class="citation web cs1">Poizin, Louis. <a rel="nofollow" class="external text" href="https://people.csail.mit.edu/saltzer/Multics/Multics-Documents/MDN/MDN-4.pdf">"The SHELL: A Global Tool for Calling and Chaining Procedures in the System"</a> <span class="cs1-format">(PDF)</span>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite id="CITEREFPouzin" class="citation web cs1">Pouzin, Louis. <a rel="nofollow" class="external text" href="https://multicians.org/shell.html">"The Origin of the Shell"</a>. <i>multicians.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">Mar 29,</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFPouzin" class="citation web cs1">Pouzin, Louis. <a rel="nofollow" class="external text" href="https://people.csail.mit.edu/saltzer/Multics/Multics-Documents/MDN/MDN-4.pdf">"The SHELL: A Global Tool for Calling and Chaining Procedures in the System"</a> <span class="cs1-format">(PDF)</span>. <i>MIT.edu</i><span class="reference-accessdate">. Retrieved <span class="nowrap">Mar 29,</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFPouzin" class="citation web cs1">Pouzin, Louis. <a rel="nofollow" class="external text" href="https://multicians.org/shell.html">"The Origin of the Shell"</a>. <i>multicians.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">Feb 12,</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite id="CITEREFHoneywell,_inc.1983" class="citation book cs1">Honeywell, inc. (Feb 1983). <a rel="nofollow" class="external text" href="http://bitsavers.org/pdf/honeywell/multics/GB58-0_commonCmds_Feb83.pdf"><i>Multics Common Commands</i></a> <span class="cs1-format">(PDF)</span>. pp. <span class="nowrap">1-1 –</span> <span class="nowrap">1-2</span><span class="reference-accessdate">. Retrieved <span class="nowrap">Mar 29,</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://xon.sh/">Xonsh Official Website</a></span>
</li>
<li id="cite_note-loginwindow-14"><span class="mw-cite-backlink">^ <a href="#cite_ref-loginwindow_14-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-loginwindow_14-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-loginwindow_14-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.apple.com/library/mac/documentation/macosx/conceptual/bpsystemstartup/chapters/Lifecycle.html">"The Life Cycle of a Daemon"</a>. <a href="Apple_Inc." title="Apple Inc.">Apple Inc.</a></cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://osxdaily.com/2011/11/23/restart-mission-control-in-os-x-lion/">"Restart Mission Control in OS X Lion"</a>. OSXDaily. Nov 23, 2011.</cite></span>
</li>
<li id="cite_note-BCS-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-BCS_16-0">^</a></b></span> <span class="reference-text"><cite class="citation book cs1"><a rel="nofollow" class="external text" href="https://books.google.com/books?id=g8Bds8ssYYgC&dq=%22shell+is+a+piece%22+%22expert+system%22&pg=PA135"><i>British Computer Society: The BCS glossary of ICT and computing terms</i></a>. Pearson Education. 2005. p. 135. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-13-147957-9</bdi>.</cite></span>
</li>
</ol></div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Desktop_environments_and_window_managers_based_on_X11_or_Wayland426" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Desktop_environments_and_window_managers_based_on_X11_or_Wayland426" style="font-size:114%;margin:0 4em"><a href="Desktop_environment" title="Desktop environment">Desktop environments</a> and <a href="Window_manager" title="Window manager">window managers</a> based on <a href="X11" class="mw-redirect" title="X11">X11</a> or <a href="Wayland_(protocol)" title="Wayland (protocol)">Wayland</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Desktop_environment" title="Desktop environment">Desktop<br>environments</a><br>(<a href="Comparison_of_X_Window_System_desktop_environments" title="Comparison of X Window System desktop environments">comparison</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="GTK" title="GTK">GTK</a>-based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Budgie_(desktop_environment)" title="Budgie (desktop environment)">Budgie</a></li>
<li><a href="Cinnamon_(desktop_environment)" title="Cinnamon (desktop environment)">Cinnamon</a></li>
<li><a href="GNOME" title="GNOME">GNOME</a>
<ul><li><a href="GNOME_1" title="GNOME 1">1</a></li>
<li><a href="GNOME_2" title="GNOME 2">2</a></li>
<li><a href="GNOME_3" title="GNOME 3">3</a></li></ul></li>
<li><a href="GPE_Palmtop_Environment" title="GPE Palmtop Environment">GPE</a></li>
<li><a href="Java_Desktop_System" title="Java Desktop System">Java Desktop System</a></li>
<li><a href="LXDE" title="LXDE">LXDE</a></li>
<li><a href="MATE_(desktop_environment)" title="MATE (desktop environment)">MATE</a></li>
<li><a href="ROX_Desktop" title="ROX Desktop">ROX Desktop</a></li>
<li><a href="Sugar_(desktop_environment)" title="Sugar (desktop environment)">Sugar</a></li>
<li><a href="Xfce" title="Xfce">Xfce</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Qt_(software)" title="Qt (software)">Qt</a>-based</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Deepin#Deepin_Desktop_Environment" title="Deepin">Deepin DE</a></li>
<li><a href="KDE_Software_Compilation" title="KDE Software Compilation">KDE SC</a>
<ul><li><a href="K_Desktop_Environment_1" title="K Desktop Environment 1">1</a></li>
<li><a href="K_Desktop_Environment_2" title="K Desktop Environment 2">2</a></li>
<li><a href="K_Desktop_Environment_3" title="K Desktop Environment 3">3</a></li>
<li><a href="KDE_Software_Compilation_4" title="KDE Software Compilation 4">4</a></li></ul></li>
<li><a href="Lumina_(desktop_environment)" title="Lumina (desktop environment)">Lumina</a></li>
<li><a href="LXQt" title="LXQt">LXQt</a></li>
<li><a href="Razor-qt" title="Razor-qt">Razor-qt</a></li>
<li><a href="Trinity_Desktop_Environment" title="Trinity Desktop Environment">Trinity</a></li>
<li><a href="UKUI_(desktop_environment)" class="mw-redirect" title="UKUI (desktop environment)">UKUI</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Motif_(software)" title="Motif (software)">Motif</a>-based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Common_Desktop_Environment" title="Common Desktop Environment">CDE</a></li>
<li><a href="IRIX_Interactive_Desktop" title="IRIX Interactive Desktop">IRIX Interactive Desktop</a></li>
<li><a href="Visual_User_Environment" title="Visual User Environment">VUE</a></li>
<li><a href="X.desktop" title="X.desktop">X.desktop</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="COSMIC_(desktop_environment)" title="COSMIC (desktop environment)">COSMIC</a></li>
<li><a href="Looking_Glass_(desktop_environment)" title="Looking Glass (desktop environment)">Looking Glass</a></li>
<li><a href="OpenWindows" title="OpenWindows">OpenWindows</a> (<a href="XView" title="XView">XView</a>- and <a href="OLIT" title="OLIT">OLIT</a>-based)</li>
<li><a href="UDE" title="UDE">UDE</a> (<a href="Xlib" title="Xlib">Xlib</a>/<a href="XCB" title="XCB">XCB</a>-based)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a class="mw-selflink-fragment" href="#Graphical_shells">Graphical<br>shells</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="GNOME_Shell" title="GNOME Shell">GNOME Shell</a></li>
<li><a href="KDesktop" title="KDesktop">KDesktop</a></li>
<li><a href="KDE_Plasma" title="KDE Plasma">KDE Plasma</a>
<ul><li><a href="KDE_Plasma_4" title="KDE Plasma 4">4</a></li>
<li><a href="KDE_Plasma_5" title="KDE Plasma 5">5</a></li>
<li><a href="KDE_Plasma_6" title="KDE Plasma 6">6</a></li>
<li><a href="Plasma_Bigscreen" title="Plasma Bigscreen">Plasma Bigscreen</a></li>
<li><a href="Plasma_Mobile" title="Plasma Mobile">Plasma Mobile</a></li></ul></li>
<li><a href="Lomiri" title="Lomiri">Lomiri</a></li>
<li><a href="Wayland_(protocol)#Maynard" title="Wayland (protocol)">Maynard</a></li>
<li><a href="Phosh" title="Phosh">Phosh</a></li>
<li><a href="Unity_(user_interface)" title="Unity (user interface)">Unity</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="X_window_manager" title="X window manager">X window<br>managers</a><br>(<a href="Comparison_of_X_window_managers" title="Comparison of X window managers">comparison</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Compositing_window_manager" class="mw-redirect" title="Compositing window manager">Compositing</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Compiz" title="Compiz">Compiz</a></li>
<li><a href="Enlightenment_(software)" class="mw-redirect" title="Enlightenment (software)">Enlightenment</a></li>
<li><a href="KWin" title="KWin">KWin</a></li>
<li><a href="Metacity" title="Metacity">Metacity</a></li>
<li><a href="Metisse" title="Metisse">Metisse</a></li>
<li><a href="Moksha_(window_manager)" title="Moksha (window manager)">Moksha</a></li>
<li><a href="Mutter_(software)#Muffin" title="Mutter (software)">Muffin</a></li>
<li><a href="Mutter_(software)" title="Mutter (software)">Mutter</a></li>
<li><a href="Project_Looking_Glass" title="Project Looking Glass">Project Looking Glass</a></li>
<li><a href="Xfce#Xfwm" title="Xfce">Xfwm</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Stacking_window_manager" title="Stacking window manager">Stacking</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="4Dwm" class="mw-redirect" title="4Dwm">4Dwm</a></li>
<li><a href="AfterStep" title="AfterStep">AfterStep</a></li>
<li><a href="Amiwm" title="Amiwm">amiwm</a></li>
<li><a href="Blackbox" title="Blackbox">Blackbox</a></li>
<li><a href="CTWM" title="CTWM">CTWM</a></li>
<li><a href="Cwm_(window_manager)" title="Cwm (window manager)">cwm</a></li>
<li><a href="Fluxbox" title="Fluxbox">Fluxbox</a></li>
<li><a href="FLWM" title="FLWM">FLWM</a></li>
<li><a href="FVWM" title="FVWM">FVWM</a></li>
<li><a href="IceWM" title="IceWM">IceWM</a></li>
<li><a href="Matchbox_(window_manager)" title="Matchbox (window manager)">Matchbox</a></li>
<li><a href="Motif_Window_Manager" title="Motif Window Manager">Motif Window Manager</a></li>
<li><a href="Olwm" title="Olwm">olwm</a></li>
<li><a href="Openbox" title="Openbox">Openbox</a></li>
<li><a href="Qvwm" title="Qvwm">Qvwm</a></li>
<li><a href="Sawfish_(window_manager)" title="Sawfish (window manager)">Sawfish</a></li>
<li><a href="Swm" title="Swm">swm</a></li>
<li><a href="Twm" title="Twm">twm</a></li>
<li><a href="Tvtwm" title="Tvtwm">tvtwm</a></li>
<li><a href="Vtwm" title="Vtwm">vtwm</a></li>
<li><a href="Window_Maker" title="Window Maker">Window Maker</a></li>
<li><a href="WindowLab" title="WindowLab">WindowLab</a></li>
<li><a href="Wm2" title="Wm2">wm2</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Tiling_window_manager" title="Tiling window manager">Tiling</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Awesome_(window_manager)" title="Awesome (window manager)">awesome</a></li>
<li><a href="Dwm" title="Dwm">dwm</a></li>
<li><a href="I3_(window_manager)" title="I3 (window manager)">i3</a></li>
<li><a href="Ion_(window_manager)" title="Ion (window manager)">Ion</a></li>
<li><a href="Larswm" title="Larswm">larswm</a></li>
<li><a href="Ratpoison" title="Ratpoison">ratpoison</a></li>
<li><a href="StumpWM" class="mw-redirect" title="StumpWM">StumpWM</a></li>
<li><a href="Wmii" class="mw-redirect" title="Wmii">wmii</a></li>
<li><a href="Xmonad" title="Xmonad">xmonad</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Wayland_compositor" class="mw-redirect" title="Wayland compositor">Wayland<br>compositors</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Enlightenment_(software)" class="mw-redirect" title="Enlightenment (software)">Enlightenment</a></li>
<li><a href="Elementary_OS#Pantheon_desktop_environment" title="Elementary OS">Gala</a></li>
<li><a href="KWin" title="KWin">KWin</a></li>
<li><a href="Mir_(software)" title="Mir (software)">Mir</a></li>
<li><a href="Mutter_(software)" title="Mutter (software)">Mutter</a></li>
<li><a href="Mutter_(software)#Muffin" title="Mutter (software)">Muffin</a></li>
<li><a href="Budgie_(desktop_environment)" title="Budgie (desktop environment)">Budgie-wm</a></li>
<li><a href="Sway_(window_manager)" title="Sway (window manager)">sway</a></li>
<li><a href="Wayland_(protocol)#Weston" title="Wayland (protocol)">Weston</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Display_server" class="mw-redirect" title="Display server">Display server</a></li>
<li><a href="Desktop_metaphor" title="Desktop metaphor">Desktop metaphor</a></li>
<li><a href="Graphical_user_interface" title="Graphical user interface">GUI</a></li>
<li><a href="Widget_(GUI)" class="mw-redirect" title="Widget (GUI)">GUI widget</a></li>
<li><a href="Painter's_algorithm" title="Painter's algorithm">Painter's algorithm</a></li>
<li><a href="Resolution_independence" title="Resolution independence">Resolution independence</a></li>
<li><a href="Virtual_desktop" title="Virtual desktop">Virtual desktop</a></li>
<li><a href="Widget_toolkit" title="Widget toolkit">Widget toolkit</a></li>
<li><a href="WIMP_(computing)" title="WIMP (computing)">WIMP</a></li>
<li><a href="Windowing_system" title="Windowing system">Windowing system</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Unix_shells49" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Unix_shells49" style="font-size:114%;margin:0 4em"><a href="Unix_shell" title="Unix shell">Unix shells</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Almquist_shell" title="Almquist shell">Almquist</a></li>
<li><a href="Bash_(Unix_shell)" title="Bash (Unix shell)">Bash</a></li>
<li><a href="Bourne_shell" title="Bourne shell">Bourne</a></li>
<li><a href="C_shell" title="C shell">csh</a></li>
<li><a href="Fish_(Unix_shell)" title="Fish (Unix shell)">fish</a></li>
<li><a href="Hamilton_C_shell" title="Hamilton C shell">Hamilton</a></li>
<li><a href="KornShell" title="KornShell">Korn</a></li>
<li><a href="PWB_shell" title="PWB shell">PWB</a></li>
<li><a href="Qshell" title="Qshell">Qshell</a></li>
<li><a href="Rc_(Unix_shell)" title="Rc (Unix shell)">rc</a></li>
<li><a href="Stand-alone_shell" title="Stand-alone shell">sash</a></li>
<li><a href="Tcsh" title="Tcsh">tcsh</a></li>
<li><a href="Thompson_shell" title="Thompson shell">Thompson</a></li>
<li><a href="Wish_(Unix_shell)" title="Wish (Unix shell)">Wish</a></li>
<li><a href="Z_shell" title="Z shell">Zsh</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="Comparison_of_command_shells" title="Comparison of command shells">Comparison of command shells</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Operating_systems310" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Operating_systems310" style="font-size:114%;margin:0 4em"><a href="Operating_system" title="Operating system">Operating systems</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_operating_systems" title="Comparison of operating systems">Comparison</a></li>
<li><a href="Forensic_software_engineering" title="Forensic software engineering">Forensic engineering</a></li>
<li><a href="History_of_operating_systems" title="History of operating systems">History</a></li>
<li><a href="List_of_operating_systems" title="List of operating systems">List</a></li>
<li><a href="Timeline_of_operating_systems" title="Timeline of operating systems">Timeline</a></li>
<li><a href="Usage_share_of_operating_systems" title="Usage share of operating systems">Usage share</a></li>
<li><a href="Comparison_of_user_features_of_operating_systems" title="Comparison of user features of operating systems">User features comparison</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Variants</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Disk_operating_system" title="Disk operating system">Disk operating system</a></li>
<li><a href="Distributed_operating_system" title="Distributed operating system">Distributed operating system</a></li>
<li><a href="Embedded_operating_system" title="Embedded operating system">Embedded operating system</a></li>
<li><a href="Hobbyist_operating_system" title="Hobbyist operating system">Hobbyist operating system</a></li>
<li><a href="Just_enough_operating_system" title="Just enough operating system">Just enough operating system</a></li>
<li><a href="Mobile_operating_system" title="Mobile operating system">Mobile operating system</a></li>
<li><a href="Network_operating_system" title="Network operating system">Network operating system</a></li>
<li><a href="Object-oriented_operating_system" title="Object-oriented operating system">Object-oriented operating system</a></li>
<li><a href="Real-time_operating_system" title="Real-time operating system">Real-time operating system</a></li>
<li><a href="Supercomputer_operating_system" title="Supercomputer operating system">Supercomputer operating system</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Kernel_(operating_system)" title="Kernel (operating system)">Kernel</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:6em"><a href="Computer_architecture" title="Computer architecture">Architectures</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Exokernel" title="Exokernel">Exokernel</a></li>
<li><a href="Hybrid_kernel" title="Hybrid kernel">Hybrid</a></li>
<li><a href="Microkernel" title="Microkernel">Microkernel</a></li>
<li><a href="Monolithic_kernel" title="Monolithic kernel">Monolithic</a></li>
<li><a href="Multikernel" title="Multikernel">Multikernel</a></li>
<li><a href="Vkernel" title="Vkernel">vkernel</a></li>
<li><a href="Rump_kernel" title="Rump kernel">Rump kernel</a></li>
<li><a href="Unikernel" title="Unikernel">Unikernel</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:6em">Components</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Device_driver" title="Device driver">Device driver</a></li>
<li><a href="Loadable_kernel_module" title="Loadable kernel module">Loadable kernel module</a></li>
<li><a href="User_space_and_kernel_space" title="User space and kernel space">User space and kernel space</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Process_management_(computing)" title="Process management (computing)">Process management</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:6em">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Computer_multitasking" title="Computer multitasking">Computer multitasking</a> (<a href="Cooperative_multitasking" title="Cooperative multitasking">Cooperative</a>, <a href="Preemption_(computing)" title="Preemption (computing)">Preemptive</a>)</li>
<li><a href="Context_switch" title="Context switch">Context switch</a></li>
<li><a href="Interrupt" title="Interrupt">Interrupt</a></li>
<li><a href="Inter-process_communication" title="Inter-process communication">IPC</a></li>
<li><a href="Process_(computing)" title="Process (computing)">Process</a></li>
<li><a href="Process_control_block" title="Process control block">Process control block</a></li>
<li><a href="Real-time_operating_system" title="Real-time operating system">Real-time</a></li>
<li><a href="Thread_(computing)" title="Thread (computing)">Thread</a></li>
<li><a href="Time-sharing" title="Time-sharing">Time-sharing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:6em"><a href="Scheduling_(computing)" title="Scheduling (computing)">Scheduling<br>algorithms</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Fixed-priority_pre-emptive_scheduling" title="Fixed-priority pre-emptive scheduling">Fixed-priority preemptive</a></li>
<li><a href="Multilevel_feedback_queue" title="Multilevel feedback queue">Multilevel feedback queue</a></li>
<li><a href="Round-robin_scheduling" title="Round-robin scheduling">Round-robin</a></li>
<li><a href="Shortest_job_next" title="Shortest job next">Shortest job next</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Memory_management_(operating_systems)" title="Memory management (operating systems)">Memory management</a>,<br><a href="System_resource" title="System resource">resource</a> protection</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bus_error" title="Bus error">Bus error</a></li>
<li><a href="General_protection_fault" title="General protection fault">General protection fault</a></li>
<li><a href="Memory_paging" title="Memory paging">Memory paging</a></li>
<li><a href="Memory_protection" title="Memory protection">Memory protection</a></li>
<li><a href="Protection_ring" title="Protection ring">Protection ring</a></li>
<li><a href="Segmentation_fault" title="Segmentation fault">Segmentation fault</a></li>
<li><a href="Virtual_memory" title="Virtual memory">Virtual memory</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Non-volatile_memory" title="Non-volatile memory">Storage</a> access,<br><a href="File_system" title="File system">file systems</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Booting#BOOT-LOADER" title="Booting">Boot loader</a></li>
<li><a href="Defragmentation" title="Defragmentation">Defragmentation</a></li>
<li><a href="Device_file" title="Device file">Device file</a></li>
<li><a href="File_attribute" title="File attribute">File attribute</a></li>
<li><a href="Inode" title="Inode">Inode</a></li>
<li><a href="Journaling_file_system" title="Journaling file system">Journal</a></li>
<li><a href="Disk_partitioning" title="Disk partitioning">Partition</a></li>
<li><a href="Virtual_file_system" title="Virtual file system">Virtual file system</a></li>
<li><a href="Virtual_tape_library" title="Virtual tape library">Virtual tape library</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Supporting concepts</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="API" title="API">API</a></li>
<li><a href="Computer_network" title="Computer network">Computer network</a></li>
<li><a href="Hardware_abstraction" title="Hardware abstraction">HAL</a></li>
<li><a href="Live_CD" title="Live CD">Live CD</a></li>
<li><a href="Live_USB" title="Live USB">Live USB</a></li>
<li>
<ul><li><a href="Command-line_interface" title="Command-line interface">CLI</a></li>
<li><a href="User_interface" title="User interface">User interface</a></li></ul></li>
<li><a href="Preboot_Execution_Environment" title="Preboot Execution Environment">PXE</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-12" href="https://en.wikipedia.org/wiki/?title=Shell_(computing)&oldid=1300121200">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>